#ifndef PERSONAL_H
#define PERSONAL_H

#ifdef __cplusplus
extern "C" {
#endif

// 人群密度等级枚举
typedef enum {
    DENSITY_EMPTY,          // 工况1: 0人 (无人)
    DENSITY_VERY_LOW,        // 工况2: n ≤ 40 (极低密度)
    DENSITY_LOW,             // 工况3: 41 ≤ n ≤ 80 (低密度)
    DENSITY_MODERATE,        // 工况4: 81 ≤ n ≤ 120 (中等密度)
    DENSITY_HIGH,            // 工况5: 121 ≤ n ≤ 160 (高密度)
    DENSITY_VERY_HIGH,       // 工况6: 161 ≤ n ≤ 200 (极高密度)
    DENSITY_EXTREME          // 工况7: n ≥ 200 (极端密度)
} DensityLevel;

/**
 * 根据乘客数量获取密度等级
 * @param passenger_count 乘客数量
 * @return 对应的密度等级
 */
DensityLevel get_density_level(int passenger_count);

/**
 * 将密度等级转换为可读字符串
 * @param level 密度等级
 * @return 对应的描述字符串
 */
const char* density_level_to_string(DensityLevel level);

#ifdef __cplusplus
}
#endif

#endif // PERSONAL_H 